import request from '@/utils/request'
import store from '@/store'

/**
 * 登录方法
 * @param data
 * @param {'password'|'oauth'|'identity'} grantType 登录类型: "password" 密码模式, "oauth" 授权码模式, "identity" 身份验证模式
 * @return {Promise<unknown>}
 * @example
 * login({password: 'xxx', username: 'xxx'}, 'password') // 密码模式
 * login({code: 'xxx', source: 'wechat_open'}, 'oauth') // 微信开放平台
 * login({code: 'xxx', source: 'wechat_mp'}, 'oauth') // 微信公众号
 * login({identity: 'xxx', source: 'apple'}, 'identity') // 苹果
 */
export function login(data, grantType) {
  return request({
    'url': '/login',
    header: {
      'Device-Type': "APP",
      isToken: false
    },
    'method': 'post',
    data,
    params:{
      grantType
    }
  })
}

//刷新令牌
export function refreshToken(refreshToken) {
  return request({
    'url': '/login',
    header: {
      'Device-Type': "APP",
    },
    'method': 'post',
    data: {refreshToken},
    params: {
      grantType: 'refresh'
    }
  })
}

// 获取用户详细信息
export function getInfo() {
  return request({
    'url': '/getInfo',
    'method': 'get'
  })
}

// 退出方法
export function logout() {
  return request({
    'url': '/logout',
    'method': 'post'
  })
}

// 获取验证码
// export function getCodeImg() {
//   return request({
//     'url': '/captchaImage',
//     header: {
//       isToken: false
//     },
//     method: 'get',
//     timeout: 20000
//   })
// }
